package com.hsu.yupao.model.dto;

import com.hsu.yupao.common.PageRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 队伍查询对象，用于表示队伍的查询条件。
 *
 * @ClassName: TeamQuery
 * @author Hsu琛君珩
 * @date 2024-05-21
 * @apiNote 该类继承自 PageRequest，用于分页查询队伍信息，并包含了队伍的各种查询条件。
 * @Version: v1.0
 */
@EqualsAndHashCode(callSuper = true)// 用于自动生成 equals() 和 hashCode() 方法会调用父类 PageRequest 的对应方法
@Data
public class TeamQuery extends PageRequest {

    /**
     * 队伍ID。
     */
    private Long id;

    /**
     * 队伍ID列表。
     */
    private List<Long> idList;

    /**
     * 搜索关键词，用于同时对队伍名称和描述进行搜索。
     */
    private String searchText;

    /**
     * 队伍名称。
     */
    private String name;

    /**
     * 队伍描述。
     */
    private String description;

    /**
     * 队伍最大人数。
     */
    private Integer maxNum;

    /**
     * 创建队伍的用户ID。
     */
    private Long userId;

    /**
     * 队伍状态：0 - 公开，1 - 私有，2 - 加密。
     */
    private Integer status;
}
